1. Field of the Invention
The present invention relates to an equalizer incorporated in, for example, a receiver for digital communication for equalizing a transmission channel or the characteristic of a transmission channel. More particularly, the present invention is concerned with an optimum sequence estimator applicable to, for example, a Viterbi algorithm processor, an equalizer of the type recovering a transmitted signal accurately by correcting distortions particular to a transmission channel, or a phase compensation type equalizer which effects equalization while correcting phase fluctuations ascribable to the offset of the carrier frequency.
2. Description of the Prior Art
One of the conventional equalizing technologies for the above application is disclosed in, for example, J. G. Proakis, "Digital Communications", MacGraw-Hill, 1983, pp. 548-554, 610-616, 624-627, and 642-648.
Today, digital radio communication, including digital mobile communication, is making remarkable progress. It is a common practice with digital radio communication to code a digital signal which is a sequence of ZEROs and ONEs on a several bits basis, modulate the coded signals, or symbols, by radio frequency, and transmit the modulated symbols. This is desirable from the standpoint of efficient use of limited ordinary frequencies. A transmission channel for digital radio communication suffers from reflection, diffraction, scattering and multipath propagation of electromagnetic waves and, when the communicating station is mobile the transmission channel also suffers from fading due to Doppler frequencies. Moreover, white noise whose major component is thermal noise is added to the above-mentioned harm in, for example, a transmitter and a receiver. Fading and white noise introduce errors in demodulated symbols in a receiver due to, among others, intersymbol interference. Usually, intersymbol interference on the same channel is far greater than intersymbol interference ascribable to nearby channels.
Since intersymbol interference noticeably distorts the waveform of a received signal, it is necessary to correct the distortion by an equalizer. An optimum sequence estimation system for implementing an equalizer is one of the most effective equalization schemes elaborated to recover transmitted data accurately out of a received signal waveform which has been distorted by the delay characteristic of a transmission channel.
A digital mobile communication system will be outlined with reference to FIGS. 2A, 2B, 3 and 4. Future digital mobile communication systems are expected to use a TDMA (Time Division Multiple Access) scheme to promote efficient use of the limited frequency band and to readily adapt to ISDN (Integrated Services Digital Network). FIGS. 2A and 2B each shows a different TDMA frame format according to the North American standards by way of example. In FIG. 2A, one frame is made up of six time slots Slots 1-6, and one or two time slots are assigned to a single subscriber. The time slots Slots 1-6 each has a 28-bit training sequence SYNC for synchronization and the training of an equalizer, a 12-bit control information sequence SACCH, a 12-bit sequence CDVCC for the discrimination of nearby channels, a 60-bit data field DATA, and a 12-bit reserved field RSVD In FIG. 2B, a TDMA frame is constituted by six to approximately eight time slots Slot 1-n, and one or two time slots are assigned to a single subscriber, a training sequence TR which has a plurality of bits which precedes a multi-bit data sequence DA for allowing an equalizer to estimiate the impulse response of a transmission channel.
As shown in FIG. 3, a conventional digital mobile communication system includes a transmitter 10 for transmitting a signal S.sub.c (t) in response to input data bm, and a receiver 30 for receiving the signal S.sub.c (t) over a transmission channel 20. The transmitter 10 is made up of an encoder 11, a low-pass filter (LPF), and a modulator 13 while the receiver 30 is constituted by a demodulator 31, a LPF 32, an equalizer 33, and a decoder 34. Specifically, in the transmitter 10, the encoder 11 transforms the input data b.sub.m to symbols x.sub.n to be transmitted. The LPF 12 generatings a complex baseband signal s (t) by filtering the symbols X.sub.n, and delivers the signal s (t) to the modulator 13. The modulator 13 modulates the signal s (t) by a carrier having a frequency of fc and sends the resulting modulated signal S.sub.c (t) to the receiver 30 over the transmission channel 20. In the receiver 30, the demodulator 31 synchronously detects a signal r.sub.c (t) propagated through the channel 20 using the same frequency as the transmission carrier frequency fc, thereby converting the signal r.sub.c (t) to a complex baseband signal r (t). Further, the LPF 32 filters the signal r (t) to produce a received complex baseband signal y (t). The signal y (t) is sampled at a symbol interval of T.
The phase of the received signal fluctuates due to the offset between the transmission carrier frequency and the demodulation frequency of the receiver 30 as well as to phase jitter. The equalizer 33, therefore, compensates for the change in the characteristic of the transmission channel 20 due to frequency-selective fading and estimates the transmitted symbol on the basis of the sample value of the signal y (t). Finally, the decoder 34 decodes the estimate Ex.sub.n (where E stands for estimation) of the transmitted symbol to thereby produce transmitted data Eb.sub.m. According to the North American standards, for example, the encoder 11 is implemented with a differential .pi./4 phase shift keying (DQPSK) modulation scheme. The DQPSK scheme divides a binary data sequence b.sub.m of ZEROs and ONEs by each two bits and assigns one of the phase differences -3.pi./4, -.pi./4, .pi./4 and 3.pi./4 to each of the four different combinations of ZERO and ONE. Assuming that the assigned phase difference is .DELTA..PHI..sub.n (n=1, 2, . . .) and that the absolute phase of a transmitted symbol at a time n is .PHI..sub.n, then the DQPSK system generates a transmitted symbol X.sub.n by the following equations: EQU .PHI.n=.PHI.n-1+.DELTA..PHI..sub.n ( 1.1) EQU X.sub.n =e.sup.j.PHI..sbsp.n ( 1.2)
As a result, the input data b.sub.m are converted to points on a signal space particular to the DQPSK system, as shown in FIG. 4. In FIG. 4, the symbol "+" with a circle and the symbol ".times." with a circle are representative of an odd symbol and an even symbol, respectively. The phase transition from a given time n to the next time n+1 is one of -3.pi./4, -.pi./4, .pi./4 and 3.pi./4.
Hereinafter will be described the optimum sequence estimation procedure taught in the previously mentioned document. Briefly, assuming that a received signal sequence y.sub.n ={y.sub.1, y.sub.2, . . . , y.sub.n } was obtained in a given finite period, the optimum sequence estimation estimates a transmitted symbol sequence x.sub.n ={x.sub.1, x.sub.2, . . . , x.sub.n } which most probably realizes y.sub.n, considering that the impulse response h (t) of the transmission channel is known. Assuming Gaussian white noise as transmission channel noise, the most probable sequence can eventually be determined in terms of a sequence {x.sub.1, x.sub.2, . . . , x.sub.n } which maximizes: ##EQU1## The above equation (2) can be efficiently solved if use is made of the Viterbi algorithm known as a method of decoding convolutional code.
The principle of the Viterbi algorithm available for the estimation of the most probable sequence will be outlined with reference to FIG. 5 which models the transmission channel of FIG. 3. Assume a discrete time model of FIG. 5 which is representative of a transmission channel with a finite impulse response. As shown, the model includes delay elements 40 each effecting a delay equal to the symbol interval T, multipliers 41, an accumulator 42, and an adder 43. Labeled h.sub.j (j=0, . . . , L) is a sample value h(t-jT) of the impulse response h(t) of the transmission channel 20, inclusive of LPFs 12 and 13 (FIGS. 3), sampled at the symbol interval T; the impulse response has a length of (L+1) T. Labeled w.sub.n is noise particular to the transmission channel, i.e., additive Gaussian white noise. Then, the equation (2) is rewritten as: ##EQU2## Therefore, the sum j.sub.n up to k=n of the equation (3) may be expressed by using the sum j.sub.n-1 up to k=n-1, as follows: ##EQU3## where j.sub.n is a quantity proportional to the logarithmic probability of the received signal sequence, i.e., k=1 to n, and is referred to as a path metric. On the right side of the equation (4), the second term is a quantity proportional to a logarithmic probability associated with state transition, which will be described, and referred to as a branch metric.
On the other hand, the state of the channel model shown in FIG. 5 at a time n-1 is represented by a vector of states, as follows: EQU S.sub.n-1 ={x.sub.n-1, . . . , x.sub.n-1 } (5)
Regarding the DQPSK scheme, the transmission channel assumes any one of 4.sup.L states in total.
Assuming the transition from a state S.sub.n-1 at a time n-1 to a state S.sub.n at a time n, then four different transitions may occur from the state S.sub.n-1 for each of 4.sup.L states S.sub.n. Assuming DQPSK of .pi./4 differential and L=1, FIG. 6 illustrates the transitions of a channel state with respect to time, i.e., a so-called trellis diagram. In FIG. 6, numerals 0, 1, 2 and 3 are representative of four different probable states while numerals given to the individual states at each particular time correspond to the numbers assigned to the transmitted symbols shown in FIG. 4. The state transition between consective times is called a branch, and 4.sup.n routes tracking the states are called paths.
For each of the four probable states at each time shown in FIG. 6, paths from four different states at the immediately preceding time exist. The Viterbi algorithm calculates a path metric represented by the equation (4) with each of the four probable paths in each state at each time, and then selects one of the paths having the largest path metric. As a result, 4.sup.L different paths survive at each time instant, and the past paths are sequentially converged to a single path. An estimate of the transmitted symbol sequence is obtained from a single surviving path.
FIG. 7 shows a specific construction of the conventional equalizer using the optimum sequence estimation scheme stated above. As shown, the equalizer is made up of a matched filter 50, a Viterbi algorithm processor 51, and a channel estimator 52. Sample values y.sub.n of a received signal are applied to the Viterbi algorithm processor 51 and channel estimator 52. In response, the channel estimator 52 estimates the impulse response of the transmission channel by using the training sequence (SYNC, FIG. 2A) and the sample value y.sub.n of a received signal corresponding to the training sequence and on the basis of LMS (Least Mean Square) or a similar adaptive algorithm. Thereafter, the channel estimator 52 repeats impulse response estimation by use of y.sub.n and the estimate Ex.sub.n of a transmitted symbol. The estimated impulse response of the transmission channel {Eh.sub.j } (j=0, . . . , L) is fed to the Viterbi algorithm processor 51. Then, the processor 51 estimates a transmitted symbol by using the sample value y.sub.n of the received signal and the impulse response estimate {Eh.sub.j } in accordance with the previously stated principle.
A specific construction of the channel estimator 52 of FIG. 7 is shown in FIG. 8. As shown, the channel estimator 52 includes a switch 101 having contacts 101a and 101b for selecting either of the training sequence TR and the transmitted symbol sequence estimate Ex.sub.n-M. A switch 102 has contacts 102a and 102b and selects either of a received signal y.sub.n and a delayed received signal y.sub.n-M. A delay circuit 103 is implemented as a register and delivers the delayed received signal y.sub.n-M to the contact 102b by delaying the received signal y.sub.n. A plurality of registers (T) 110-0 to 110-L are connected to the switch 101 in a cascaded configuration for storing the training sequence TR or the transmitted symbol sequence estimate Ex.sub.n-M. The outputs of the registers 110-0 to 110-L are respectively connected to multipliers 111-0 to 111-L, registers 112-0 to 112-L for storing impulse response estimates, adders 113-0 to 113-L, and multipliers 114-0 to 114-L. The outputs of the multipliers 111-0 to 111-L are connected to the input of an adder 120. The output of the adder 120 and the switch 102 are connected to the input of a subtractor 121. The output of the subtractor 121 and a positive constant .beta., called the step size, are connected to the input of a multiplier 122 whose output is in turn connected to the inputs of the multipliers 114-0 to 114-L.
In operation, the switches 101 and 102 select their contacts 101a and 102a first. In this condition, the multipliers 111-0 to 111-L and adder 120 produce an estimate Ey.sub.n of a received signal represented by the equation (3) from a training symbol x.sub.n at a time n, a training sequence {x.sub.n-1, . . . , x.sub.n-L } at the time n stored in the registers 110-0 to 110-L, and estimates of impulse responses h.sub.j.sup.n-1 (j=0, 1, . . . , L) of the transmission path at a time n-1 stored in the registers 112-0 to 112-L, as follows: ##EQU4##
The subtractor 121 subtracts the estimate Ey.sub.n of the received signal from the received signal y.sub.n to produce an estimation error ER.sub.n by the following equation: EQU ER.sub.n =y.sub.n -Ey.sub.n ( 7)
Subsequently, the adders 113-0 to 113-L and multipliers 114-0 to 114-L and 122 cooperate to update the impulse response estimate of the transmission channel at the time n-1 according to the following equation: EQU Eh.sub.j.sup.n =Eh.sub.j.sup.n-1 +.beta..multidot.ER.sub.n .multidot.x*.sub.n-1 ( 8)
where j is 0, 1, . . . , L, the asterisk indicates complex conjugate, and .beta. indicates a positive constant called the step size.
The updated estimates produced by the equation (8) are stored in the registers 112-0 to 112-L as estimates Eh.sub.j.sup.n at a time n. After the training, the impulse response of the transmission channel is also estimated in the data field (data sequence DA) in order to follow changes of the channel path due to fading. At this instant, the switches 101 and 102 select the contacts 101b and 102b, respectively. In this condition, the Viterbi algorithm processor 40 executes processing similar to the training by use of the estimate Ex.sub.n-M obtained from the path portion up to a time n-M which converged at the time n, and the received signal y.sub.n-M delayed M symbol intervals by the delay circuit 103, thereby continuously estimating the impulse response of the transmission channel.
The adaptive algorithm represented by the equation (8), i.e., the LMS algorithm is extensively used since it is simple, although convergence is relatively slow. The RLS (Recursive Least Square) algorithm is high in both of convergence speed and estimation accuracy and will be described hereinafter. Let the impulse response vector of the transmission channel path at a time n and the vector of partial sequence of transmitted symbols be respectively defined by the following equations (9) and (10): EQU EBh.sub.n ={Eh.sub.o.sup.n, Eh.sub.1.sup.n, . . . , Eh.sub.L.sup.n}.spsp.T( 9) EQU Bx.sub.n ={x.sub.n, x.sub.n-1, . . . , x.sub.n-L }.spsp.T (10)
where E stands for estimation, and B and T indicate respectively a vector and the transposition of a vector.
Then, the RLS algorithm estimates the impulse response by the following procedure: EQU Bk.sub.n =BP.sub.n-1 .multidot.Bx.sub.n * (Bx.sub.n.spsp.T .multidot.BP.sub.n-1 .multidot.Bx.sub.n *+.lambda.).sup.-1( 11) EQU BP.sub.n =(BP.sub.n-1 -Bk.sub.n .multidot.Bx.sub.n.spsp.T .multidot.BP.sub.n-1)/.lambda. (12) EQU EBh.sub.n =EBh.sub.n-1 +Bk.sub.n .multidot.ER.sub.n ( 13)
where .lambda. is a forgetting factor, BP.sub.n is the covariance matrix of error signals ER.sub.n, and Bk.sub.n is a vector of Kalman gains.
In practice, the above-described RLS algorithm is rarely applied to the channel estimation of an optimum sequence estimator since it involves an extremely great number of calculations associated with a matrix.
Referring to FIG. 9, a conventional optimum sequence estimator applicable to the equalizer 33 of FIG. 3 is shown and implemented by independent ICs or similar circuits or by program control using a processor, as the case may be. As shown, the estimator has a phase rotating section 40, delay means 50, a Viterbi algorithm processor 60, a channel estimator 70, and a phase estimator 80. In FIG. 9, solid lines, dash-and-dot lines and dash-and-dots lines connecting the blocks represent real numbers, complex numbers, and complex vectors, respectively. The phase rotating section 40 has computing means 41 and multiplying means 42 and rotates, based on a phase estimate E.phi..sub.n, the phase of the sample value y.sub.n of a received signal to thereby produce a sample value cr.sub.n (c stands for compensation) free from a phase fluctuation ascribable to frequency offset and phase jitter. The delay means 50 compensates for the delay of decision particular to the Viterbi algorithm, i.e., delays the sample value cr.sub.n of a received signal a predetermined period of time, and feeds the delayed value cr.sub.n-M to the channel estimator 70 and phase estimator 80. The Viterbi algorithm processor 60 receives the sample value cr.sub.n and estimates a transmitted symbol by the Viterbi algorithm on the basis of an impulse response estimate Eh.sub.j of the transmission channel 20 produced by the channel estimator 70, thereby outputting a transmitted symbol sequence estimate EX.sub.n-M. Since the actual impulse response of the transmission channel 20 is unknown, the channel estimator 70 estimates it and delivers an impulse response estimate Eh.sub.j to the Viterbi algorithm processor 60. The channel estimator 70 is made up of received signal reconstructing means or section 71, adaptive impulse response updating means or section 72, and subtracting means 73. The received signal reconstructing means 71 produces an estimate Er.sub.n of a received signal from the transmitted symbol sequence estimate {EX.sub.n, EX.sub.n-1, . . . , EX.sub.n-1 } and the impulse response estimate Eh.sub.j of the transmission channel 20, as follows: ##EQU5## The subtracting means 73 subtracts the estimate Er.sub.n from the received signal cr.sub.n whose phase fluctuation has been compensated for to thereby produce an error signal e.sub.n : EQU e.sub.n =cr.sub.n -Er.sub.n (15)
The adaptive impulse response updating means 72 updates the impulse response estimate Eh.sub.j (j=0, 1, . . . , L) of the transmission channel 20 by the LMS algorithm expressed as: EQU Eh.sub.j.sup.n+1 =Eh.sub.j.sup.n +.beta..multidot.e.sub.n .multidot.EX*.sub.n-j ( 16)
where j is 0, 1, . . . , L, and asterisk and .beta. denote respectively the complex conjugate and a positive constant or step size.
The phase estimator 80 estimates a phase variation due to frequency offset and jitter by the following equation: EQU E.phi..sub.n+1 =E.phi..sub.n +.alpha..multidot.Im[e.sub.n .multidot.cr*.sub.n ] (17)
where Im [ ] and .alpha. indicate respectively the imaginary portion of a complex number and a positive constant.
The resulting phase estimate E.phi..sub.n+1 is fed from the phase estimator 80 to the phase rotating section 40 to cause the latter to compensate for the phase variation. The compensation effected by the phase estimator 80 and phase rotating section 40 is equivalent to a first-order phase locked loop (PLL). In this sense, the phase estimator 80 may be considered a combination of a phase error detecting circuit 81, a loop filter 82 and a voltage controlled oscillator (VCO) 83 constituting a phase locked loop. The phase error detecting circuit 81 is made up of a complex conjugate computing means 81a for producing the complex conjugate cr*.sub.n-m of the output cr.sub.n-m of the delay means 50, multiplying means 81b for multiplying the complex conjugate cr*.sub.n-m and the estimation error e.sub.n-m, and imaginary portion extracting means 81c for extracting the imaginary portion from the result of the multiplication to thereby produce a phase error .DELTA..phi..sub.n. The voltage controlled oscillator 83 is constituted by adding means 83a for adding the phase estimate E.phi..sub.n-1 of the previous instant to the output of the multiplying means 82a, and delay means 83b for delaying the output of the adding means 83a and implemented as, for example, a register.
The conventional optimum sequence estimator uses the LMS algorithm, which is slow in convergence, even in estimating the impulse response of the transmission channel by the training sequence TR. This brings about the drawback that even when the estimate of impulse response of the transmission channel is not converged to a correct value, the estimator has to execute Viterbi algorithm processing and is, therefore, apt to fail to estimate an optimum sequence. On the other hand, the RLS algorithm will allow the estimate of impulse response of the transmission channel based on the training sequence TR to converge rapidly to a correct value. However, such a scheme is difficult to practice since, in the data portion (data sequence DA), not only does the Viterbi algorithm itself involve a relatively great amount of computation but also the estimation of the transmission channel needs an extremely great amount of computation.
Regarding digital cellular communication or similar mobile radio communication, frequency-selective fading occurs due to the movement of a communicating station, in addition to reflection, diffraction, scattering and multipath propagation. Therefore, a transmission channel is not uniformly time-varying with the result that errors are introduced in the impulse response estimate {Eh.sub.j } in the channel estimator 52, FIG. 7. Consequently, an estimation error occurs in the estimated transmitted symbol sequence {Ex.sub.n } from the Viterbi algorithm processor 51, aggravating the error probability of the equalizer. A promising implementation against this kind of error has not been reported yet.
Since the compensation for a phase variation is effected by a first-order phase locked loop, as stated earlier, it is impossible to sufficiently compensate for, among the phase variations ascribable to frequency offset and phase jitter, the regular phase rotation due to frequency offset. Therefore, the error probability increases with the increase in frequency offset. This limits the allowable range of frequency offset and, therefore, obstructs accurate decoding.